﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization;
using System.ServiceModel;
using System.Text;
using SOAPServices.Persistencia;
using SOAPServices.Dominio;

namespace SOAPServices
{
    public class Recursos : IRecurso
    {
        private RecursoDAO recursoDAO = null;
        private RecursoDAO RecursoDAO {
            get {
                if (recursoDAO == null)
                    recursoDAO = new RecursoDAO();
                return recursoDAO;
            }
        }
        
        public Recurso CrearRecurso(string nombre, char estado)
        {
            Recurso recursoAcrear = new Recurso
            {
                Nombre = nombre,
                Estado = estado
              };
            return RecursoDAO.Crear(recursoAcrear);
        }

        public Dominio.Recurso ObtenerRecurso(int codigo)
        {
            return RecursoDAO.Obtener(codigo);
        }

        public Dominio.Recurso ModificarRecurso(int codigo, string nombre, char estado)
        {
            Dominio.Recurso recursoAModificar = new Dominio.Recurso
            {
                Codigo = codigo,
                Nombre = nombre,
                Estado = estado
            };
            return RecursoDAO.Modificar(recursoAModificar);
        }

        public void EliminarRecurso(int codigo)
        {
            Recurso recursoEsistente = RecursoDAO.Obtener(codigo);
            RecursoDAO.Eliminar(recursoEsistente);

        }

        public List<Dominio.Recurso> ListarRecurso()
        {
            return RecursoDAO.ListarTodos().ToList();
        }

    }
}
